/**************************************************************************************
*
*	Copyright (C) 2009 - 2012 Brent Andrew O. Chua - See LICENSE.txt for more info.
*		
*	Filename	-	EventTransform.h
*
*	Description -	Transform
*
*	Comments	-
*
*	Modification History:
*			Name			   Date					Description
*			MrCodeSushi	-	10/17/2012	-	Creation of this file
**************************************************************************************/
#ifndef _PSX_EVENT_TRANSFORM_H_
#define _PSX_EVENT_TRANSFORM_H_

#include "PulseSTD.h"
#include "IEvent.h"
#include "Matrix4x4.h"

namespace Pulse
{
	class EventTransform : public IEvent
	{
	public:

		EventTransform( void );

		virtual ~EventTransform( void );

		virtual const EEvent::Type GetEventType( void ) const { return EEvent::TRANSFORM; }

		void SetTransform( const Matrix4x4 *pTransform ) { m_transform = *pTransform; }

		void SetEventOwner( IComponent *pComponent ) { m_pEventOwner = pComponent; }

		const IComponent * GetEventOwner( void ) const { return m_pEventOwner; }

		const Matrix4x4 * GetTransform( void ) const { return &m_transform; }

	private:

		IComponent *m_pEventOwner;
		Matrix4x4 m_transform;

	};
}

#endif /* _PSX_EVENT_TRANSFORM_H_ */